29 research outputs found

    Higher-Order Attribute Semantics of Flat Declarative Languages

    Get PDF
    A technique is described that provides a convenient instrument for implementation of semantics of simple declarative languages called flat languages. Semantics of a specification is defined in the paper as a set of programs derivable for solvable goals. We introduce higher-order attribute models that include more control information than conventional attribute models and explain the algorithm for dynamic evaluation of attributes on these models. A visual tool CoCoViLa is briefly described as an instrument for implementing attribute semantics of flat languages

    Using Classes As Specifications For Automatic Construction Of Programs In The Nut System

    No full text
    Introduction Attention of researchers in software technology is focused at several programming paradigms each of which claims to be a good platform for the future of computing: logic programming, functional programming, object-oriented programming, constraint programming, knowledge-based programming. The latter meaning, in particular, the usage of knowledge-bases containing specifications of concepts for automatic program synthesis. A natural question arises how to combine these paradigms into a new one which will preserve the merits of all of its constituents. Quite a success has been achieved in combining logic and constraint programming. Two very promising approaches have evolved: constraint logic programming initiated by J.-L. Lassez and J. Jaffar (Jaffar 1987), and concurrent constraint programming introduced by V. Saraswat (Saraswat 1990). Recent works of G. Smolka (Smolka 1993) give an example of merging constraint programming with object-oriented programming. The prese

    Large Engineering Knowledge-Bases

    No full text
    This paper is written on the experience of developing numerous knowledgebases for engineering applications and integrating them into one knowledge environment applicable in different problem domains. It discusses steps made towards building large heterogeneous engineering knowledge-bases. It analyses the requirements to large knowledge-bases, presents their architecture and discusses the content and size of general-purporse engineering knowledge-bases. Key words: knowledge acquisition, knowledge systems, large knowledge-bases, engineering knowledge representation. 1. Introduction 2 Large Engineering Knowledge-Base

    Extensible Multipurpose Simulation Platform

    No full text
    Abstract:- This is a description of a multipurpose simulation platform that includes numerous simulation engines and is intended for application in a variety of engineering domains. The platform supports modelbased software development and uses structural synthesis of programs for translation of declarative specification of simulation problems into executable code. The platform is being developed as open software and its extensions can be written in Java and C, and included into the simulation packages by using the language development tool called Class Editor. Key-Words:- Multipurpose simulation, Hybrid simulation, Model-based software, Extensible specification language

    Large Heterogeneous Knowledge Bases

    No full text
    This paper discusses large knowledge bases as software development tools which support the creativity of programming in the large. User requirements, architecture and internal knowledge representation language of large knowledge bases are considered. Higher order constraint networks are proposed for representing knowledge about computability. 1 Software reusability An important characteristic of the software development process is the degree of reusability of software. Simply speaking, knowledge once encoded in the form of programs must be reusable every time it would be needed in programming new problems. A natural way to reuse programs is to apply large software libraries. It is expected that this increases the productivity of software development and reliability of the software produced. However, with the exception of a small number of specific applications, the software libraries of today tend to be very difficult to use. They lack comprehensive user interface, and require from th..

    Logical frameworks

    No full text

    Attribute Models Of Design Objects

    No full text
    this paper, we suggest to use deductive systems for representing the general design knowledge, and attribute models (a kind of constraint networks) for representing the implementation knowledge. This combination of two precisely described (formalized) knowledge systems enables one to represent both kinds of knowledge and is sufficiently constructive to be used in developing CAD systems. It has been shown in (Bowen, 1991) how to add a theory about constraints to a constraint network and to increase the expressive power of the language in this way. Our suggestion differs from this approach in the way of binding the two knowledge systems. In our case, the variables of a constraint network are not directly visible on the level of general design knowledge. They are associated with symbols of the general design language in the same way as attributes are associated with symbols of the syntactic part of an attribute grammar. These grammars were proposed by D. Knuth long ago for representing semantics of context-free languages (Knuth, 1968). They appeared useful for representing semantics of programming languages, and extensive literature on this subject exists now. Our formalism is a generalisation of attribute grammars in the following ways. Firstly, we introduce a notion of attribute model which is more general and allows us to describe semantics in a more uniform way than sets of attributes and attribute dependencies which represent semantics of symbols and productions of a grammar. Secondly, we do not restrict ourselves syntactically to context-free grammars, but consider any language generated by 2 ENN TYUG

    Higher-Order Functional Constraint Networks

    No full text
    This paper discusses value propagation on functional constraint networks. We first focus on conventional "first-order" networks, and then show how the technique generalizes for what we call higher-order networks. Value propagation is attractive because of its simplicity and efficiency. Although it cannot solve all satisfiable networks (since it cannot break loops of constraints) and it may suggest solutions to unsatisfiable networks (since it does not discover inconsistency) , it is of significant practical value. We describe several algorithms for planning value propagation, and point out that planning can be regarded as proof search in intuitionistic propositional logi
    corecore